package interface_;

public class InterfaceDetail01 {
    public static void main(String[] args) {
    //1.接口不能被实例化
    //new IA();

    System.out.println(IB.n1);//static
   // IB.n1 = 20;//final,所以不能被修改

        AA aa = new AA();
        System.out.println(aa.n1);
        System.out.println(IB.n1);
        System.out.println(AA.n1);
    }
}

class AA implements IB{
    @Override
    public void hi() {

    }
}
interface IA{
    //2.接口中所有的方法都是public方法，接口中的方法默认为抽象方法，可以不用abstract修饰
    void say();
    void ok();
}

interface IB{
    //6.接口中的属性，都是public static final修饰符的
    int n1 = 10;
    void hi();
}

//接口不能继承其他的类，但可以继承多个其他的接口
interface IC extends IA,IB{

}


//3.一个普通的类实现接口，就必须将该接口中的所有方法都实现
class Cat implements IA{
    @Override
    public void say() {

    }

    @Override
    public void ok() {

    }
}
//4.抽象类去实现接口时，可以不实现接口中的抽象方法
abstract class A implements IA{

}

//5.一个类可以同时实现多个接口
class B implements IA,IB{
    @Override
    public void say() {

    }

    @Override
    public void ok() {

    }

    @Override
    public void hi() {

    }
}
